Various industrial robots are becoming popular. Robots are utilized for screw fastening, welding and painting to a work-piece, carriage of the work-piece, attachment of a part to the work-piece, and soldering, etc. Such robots include, for example, a vertical multi-joint type moving unit, and a work tool is attached to the moving unit. A computer that executes a program controls the moving unit and the work tool. Under the control of the computer, the work tool is moved to a predetermined point and actuated.
The program may be described in a point-based robot language. This program includes point statements arranged in sequence, and each point statement is for each point. The point statement contains a point number that is a header, point kind information, and point coordinate information. The point kind information is a so-called function identifier, and identifies an instruction sequence that defines work details to a point, and a moving method thereto.
The robot controls the moving unit and the work tool in accordance with the instruction sequence identified by the point kind information, moves the work tool toward a point indicated by the coordinate information, and executes a work at the point. Parameters indicating operation quantities, such as various distances, various angles, and other various quantities, are necessary for movement to a point and work at that point. For example, a plurality of points is set for a work-piece. Each point is a screw fastening position. A work tool that is an electric screwdriver is positioned above each point at first. Second, the work tool moves down toward the point while turning a screw. A move-down amount is equivalent to a screw length. This move-down amount is given by a parameter specified by the screw length.
It is not always true that screws to be fastened at the point are the same type. Screws which have a different screw length for each point may be fastened. Screws can be classified into, for example, a unique screw to a point, a screw heavily used for the same work-piece, and a screw heavily used regardless of the work-piece. Since the move-down amount of the work-tool toward the point varies depending on the screw length, a variable may be declared every time the point statement is declared, and an appropriate parameter may be substituted in this variable. According to this scheme, however, it is a time-consuming work to initialize the variable every time the point statement is executed.
Hence, when respective system variables interlinked with memory areas storing various screw lengths are prepared beforehand, the user friendliness improves. When, for example, a unique screw to a point is to be fastened, a system variable that is “CondScrewL” corresponding to such a screw length is prepared beforehand. When a screw heavily used in the same work-piece is to be fastened, a system variable that is “ProgScrewL” corresponding to such a screw length is prepared beforehand. When a screw heavily used regardless of the work-piece is to be fastened, a system variable that is “CommongScrewL” corresponding to such a screw length is prepared. Next, the system variable that is “CondScrewL”, “ProgScrewL” or “CommongScrewL” is applied in an instruction sequence that defines a moving method and work details.
The instruction sequence to which the system variable “CondScrewL” is applied, the instruction sequence to which the system variable “ProgScrewL” is applied, and the instruction sequence to which the system variable “CommongScrewL” have the common operation that is to fasten a screw. Hence, codes in the instruction sequence other than the system variable are substantially consistent.
However, since the system variable is different, the instruction sequence itself is different. From the standpoint of a programmer who creates an instruction sequence identified by the point kind information, it is a time-consuming work to individually create a plurality of instruction sequences which have only a difference that is the system variable. In addition, such a time-consuming work results in an increase in costs of the robot.
The preset invention has been proposed to address the above technical problems of conventional technologies, and an objective is to provide a robot that enables a substitution of a plurality of parameter candidates in a point by a single-kind instruction sequence in accordance with the point.